package engine;

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;


/**
 * Player.java
 * Character subclass that responds to user input
 * 
 * @author Connor Gordon
 * 
 */
public abstract class Player extends Character {
    /**
     * Defines responses when various Keys are pressed
     * 
     * @param k key that is Pressed
     */
    public abstract void keyPressed (KeyEvent k);

    /**
     * Defines responses when various keys are released
     * 
     * @param k key that is released
     */
    public abstract void keyReleased (KeyEvent k);

    /**
     * Triggers Event that follows Mouse Pressed {Implemented in similar fashion
     * to MouseAdapter class}
     * 
     * @param m MouseEvent trigger
     */
    public void mousePressed (MouseEvent m) {
    }

    /**
     * Triggers Event that follows Mouse Release {Implemented in similar fashion
     * to MouseAdapter class}
     * 
     * @param m MouseEvent trigger
     */
    public void mouseReleased (MouseEvent m) {
    }

    /**
     * Triggers Event that follows Mouse Click {Implemented in similar fashion
     * to MouseAdapter class}
     * 
     * @param m MouseEvent trigger
     */
    public void mouseClicked (MouseEvent m) {
    }

    /**
     * Triggers Event that follows Mouse Entering Screen {Implemented in similar
     * fashion to MouseAdapter class}
     * 
     * @param m MouseEvent trigger
     */
    public void mouseEntered (MouseEvent m) {
    }

    /**
     * Triggers Event that follows Mouse Exiting Screen {Implemented in similar
     * fashion to MouseAdapter class}
     * 
     * @param m MouseEvent trigger
     */
    public void mouseExited (MouseEvent m) {
    }
}
